package shangji2;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Component;
import shangji2.Dao.Mohe;
import shangji2.Dao.Zhizhang;

@Component
public class Printer {
    // 使用构造注入和@Qualifier指定具体的墨盒实现
    private Mohe mohe;

    // 使用setter注入纸张
    @Autowired
    @Qualifier("a4zhi")
    private Zhizhang zhi;

    // 添加带墨盒参数的构造方法，使用@Autowired和@Qualifier
    @Autowired
    public Printer(@Qualifier("caiMohe") Mohe mohe) {
        this.mohe = mohe;
        System.out.println("打印机出厂，已安装" + mohe.getColor() + "墨盒");
    }

    // 添加不带参数的构造方法
    public Printer() {}

    // getter 和 setter 方法
    public Mohe getMohe() {
        return mohe;
    }

    // 移除@Autowired注解，避免装配冲突
    public void setMohe(Mohe mohe) {
        this.mohe = mohe;
    }

    public Zhizhang getZhi() {
        return zhi;
    }

    public void setZhi(Zhizhang zhi) {
        this.zhi = zhi;
    }

    // 打印方法
    public void print() {
        System.out.println("使用" + mohe.getColor() + "墨盒在" + zhi.getSize() + "纸张上打印");
    }
}